package com.dl.mian.utils;

import com.dl.mian.http.GsonUtil;
import com.dl.mian.http.model.UserInfoVO;
import com.google.gson.reflect.TypeToken;
import com.tencent.mmkv.MMKV;

import java.util.ArrayList;
import java.util.List;

public class LocalDataBox {
    static MMKV appLocalData=MMKV.mmkvWithID("user");//除非被卸载，不然数据不会被清理

    /**
     * 获得用户信息
     */
    public static final UserInfoVO getUserInfo() {
        String userInfoStr = appLocalData.decodeString("getUserInfo");
        UserInfoVO userInfoVO = GsonUtil.gson().fromJson(userInfoStr,
                new TypeToken<UserInfoVO>() {
                }.getType());
        if (userInfoVO == null) {
            userInfoVO = new UserInfoVO();
        }
        return userInfoVO;
    }

    /**
     * 设置用户信息
     */
    public static final void setUserInfo(UserInfoVO userInfo) {
        if (userInfo == null) {
            userInfo = new UserInfoVO();
        }
        appLocalData.encode("getUserInfo", GsonUtil.gson().toJson(userInfo));
    }

    /**
     * 获得token
     */
    public static final String getToken() {
        return "token";
//        String token = getUserLocalData().decodeString("token");
//        return token;
    }

    /**
     * 设置token
     */
    public static final void setToken(String token) {
//        getUserLocalData().encode("token", token);
    }


//    public static final ArrayList<CategoryVO> getCategoryList() {
//        String categoryListStr = getAppLocalData().decodeString(
//                "sp_key_category_list", "[]");
//
//        ArrayList<CategoryVO> categoryList = GsonUtil.gson().fromJson(categoryListStr,
//                new TypeToken<ArrayList<CategoryVO>>() {
//                }.getType());
//        if (categoryList == null) {
//            categoryList = new ArrayList<>();
//        }
//        return categoryList;
//    }
//
//    /**
//     * 保存首页类别列表(图文)，加子分类(图文)
//     *
//     * @param categoryList
//     */
//    public static final void setCategoryList(List<CategoryVO> categoryList) {
//        String categoryListStr = GsonUtil.gson().toJson(categoryList);
//        getAppLocalData().encode("sp_key_category_list",
//                categoryListStr);
//    }

    public static void clearAllUserLocalData() {
        appLocalData.clearAll();
    }
}
